单引号代表char
类型,即单个字符
双引号是字符串类型
C++ 中字符串又分为
- C风格字符串
- C++ 引入的 string 类类型
关于C++字符串可参考 C++ 字符串-菜鸟教程
1 |
|
最终输出的结果为
1 | 1 |
因为
'a'
代表一个字符,只占一个字节"a"
相当于{'a', '\0'}
占两个字节, 其中\0
(null字符)代表字符串的结尾,如果没有'\0'
就变成了字符数组
顾名思义,字符数组就是每个元素都是单个字符(
char
类型)的数组
那为什么string类型的占8个字节呢?
查了一下发现g++的版本不同会使得string所占的字节数也不同
在g++ 4.8.4中string占8个字节,在g++5.4.0中string占32个字节